[Beaver91]Efficient Multiplarty Protools Using Circuit Randomization


difference between theory and practice: efficiency

In practice:
- express F as a circuit CF
- call on each player to secretly share
- proceed to perform " secret addition and multiplication" on secretly shared values
- cost: depth of times cost of secret multiplication
1 Introduction
Secrete Sharing:

Advantage of using polynomials

easy to combine two secrets multiplication by a publicly known constant
But when secrets are multiplied: it's hard

fan-in: [Electronics]the number of inputs that can be connected to the circuit.
Notions:

Our Solution:

dose evaluate the circuit level by level, but each level is simply a reconstruction of secrets
The Idea


completely randomize every input and output to each gate in plus a very simple error-correction procedure
error-correcting procedure
One-time tables
Analogous to one-time pad

One-time table: a set of precomputed values that support direct secure computation without broadcast or private channels
2 An Efficient Protocol for Circuit Evaluation

UnifSecret
UnifSecret:

generate uniformly random secrets by adding uniformly random secrets shared by each party.
Calculate Circuit:

Circuit:
- N wires carry inputs
- gates :
- level(): depth of the gate
evaluate: 把电路的gates按照depth分层,一层一层的计算,每次计算出该层的输出(new secrets),就是下一层的输入。
Share-Compute-Reveal Paradigm:

- evaluate gates at each level
- thereby produce new secrets , until the final secret is calculated
- use REC reconstruct the result
Additive Gate
An additive gate:


- create N uniformly random values for every 用UnifySecret的方式,every party generate a random secret,其和就是分配给每个wire的random values。 (这里不考虑secret sharing,只考虑value calculation)
- for every gate : compute every party可以直接对random value (pieces)计算,这里是加法门,所以。不过each party得到的其实是PIECE()。
- consider corrections to each wire 对于一层gates而言,input wire的corrections (pieces)可以locally calculate。而当要计算output wire的corrections时,就需要REC input wire的correction,所有parties的pieces 加起来,得到。
- compute the correction : output wire of
- praty know(pieces):
- random inputs and their results
- random output
- input wire corrections
- party calculate output wire correction:
- is a linear combination of "known" constant and with the values and 刚刚也说过,在计算这一层gates前,需要reconstruct input wire的correction,所以计算时, and 是已经经过REC操作,every party都把他的pieces分享处理(但不会reveal info),得到 constant and 。
- praty know(pieces):
Multiplicative Gate:
Multiplicative gates:

- a linear combination:
Security:


Cost of REC:

Figure 2: the whole protocol

2.1 An Optimization
Compress additive gates:

by computing the corrections to outputs at the same time as the corrections to input wires no "randomization" of additive gates
Example:

把先做乘法,在做什么加法两层运算,压缩为一层运算。


Add gate output correction和其input没有关系,包括,反而是和前一层的MUL gates的input有关系。
Deduce:

